import axios from 'axios';
import {Message} from "element-ui";

const service = axios.create({
    baseURL: 'http://10.85.201.242:8090', // 替换为你的后端API地址
    timeout: 10000,
});

// 请求拦截器
service.interceptors.request.use(
    config => {
        // 在发送请求之前做些什么，比如添加token
        const token = localStorage.getItem('token');
        if (token) {
            config.headers.Authorization = `Bearer ${token}`;
        }
        return config;
    },
    error => {
        // 对请求错误做些什么
        console.error('Request error:', error);
        Message.error('请求出错，请稍后再试');
        return Promise.reject(error);
    }
);

// 响应拦截器
service.interceptors.response.use(
    response => {
        // 对响应数据做点什么
        return response;
    },
    error => {
        // 对响应错误做点什么
        if (error.response) {
            switch (error.response.status) {
                case 401:
                    Message.error('未授权，请重新登录');
                    break;
                case 403:
                    Message.error('禁止访问');
                    break;
                case 404:
                    Message.error('请求资源不存在');
                    break;
                case 500:
                    Message.error('服务器内部错误');
                    break;
                default:
                    Message.error('请求出错，请稍后再试');
            }
        } else if (error.request) {
            Message.error('请求超时或网络错误');
        } else {
            Message.error('请求出错，请稍后再试');
        }
        console.error('Response error:', error);
        return Promise.reject(error);
    }
);

export default service;
